課程資訊
課程名稱
演算法
Algorithms 
開課學期
103-2 
授課對象
電機資訊學院  電機工程學系  
授課教師
李建模 
課號
EE4033 
課程識別碼
901 39000 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期五6,7,8(13:20~16:20) 
上課地點
電二143 
備註
總人數上限:80人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1032_algorithms 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

This class introduces basic concepts of design and analysis of computer algorithms. The course contents include fundamental knowledge, sorting, trees, dynamic programming, graphs, NP-completeness and etc. 

課程目標
Students will learn how to design and analyze algorithms as well as implement it in C or C++ codes to solve problems. 
課程要求
Computer programming skills in C or C++ is needed.
Students are required to program in Linux systems.
Background in data structures is a plus but not required.
Grading is based on homework, programming assignments, exam, project and etc. 
預期每週課後學習時數
 
Office Hours
每週四 14:00~16:00 備註: 週四為PA助教輪值 若以下時間無法前來, 可以寄信另外約時間. 
指定閱讀
Cormen, Leiserson, Rivest, Stien, Introduction to Algorithms, 3rd edition, MIT Press, 2009.  
參考書目
 
評量方式
(僅供參考)
   
課程進度
週次
日期
單元主題
第1週
2/27  reading materials, STL, sorting etc
(for our class only, do not distribute) 
第2週
3/6  Introduction
Foundations (I) 
第3週
3/13  Foundation (II) + Sorting 
第4週
3/20  Sorting (I) 
第5週
3/27  Advanced Design (Dynamic Programming) 
第6週
4/3  vacation 
第7週
4/10  Advanced Design (Greedy Algorithm)
Advanced Data Structure (Trees) 
第8週
4/17  Data Structure, Trees
Graph (I) DFS/BFS 
第9週
4/24  Graph (I) BFS/DFS
Graph (II) MST 
第10週
5/1  Graphs (II) MST
Graphs (III) Shortest Path 
第11週
5/8  Graph (III) Shortest Path
Graph (IV) Max Flow 
第12週
5/15  Graph (3) APSP
Graph (4) MAX Flow
Optimization 
第13週
5/22  NPC 
第14週
5/29  NPC 
第15週
6/5  amortized analysis
 
第16週
6/12  final exam 
第17週
6/19  vacation 
第18週
6/26  final presentation. 每組15分鐘含QA